package com.dao;

import java.util.List;

import com.beans.Cateinfo;
import com.jdbc.DBUtil;

public class CateDao {
	/**
	 * 添加商品分类
	 * 
	 * @param cateinfo 商品分类实体
	 * @return
	 */
	public int addCate(Cateinfo cateinfo) {
		String sql = "insert into cateinfo(cateName,des,parentId) values ( ?,?,?)  ";
		return DBUtil.update(sql, cateinfo.getCateName(), cateinfo.getDes(), cateinfo.getParentId());
	}

	/**
	 * 删除商品分类
	 * 
	 * @param id 商品分类id
	 * @return
	 */
	public int delCate(int id) {
		return DBUtil.update("delete from cateinfo where id= ?", id);
	}

	/**
	 * 获取指定id为父级的二级分类条目
	 * 
	 * @param id
	 * @return
	 */
	public int getCateCount(Integer id) {
		long count = DBUtil.getScalar("select count(*) from cateinfo where parentId= ? ", id);
		return Integer.parseInt(count + "");
	}

	/**
	 * 获取商品分类信息
	 * 
	 * @param parentId 父级id
	 * @return
	 */
	public List<Cateinfo> getCateList(int parentId) {
		String sql = "select * from cateinfo where parentId=?";
		return DBUtil.getList(sql, Cateinfo.class, parentId);
	}

	/**
	 * 获取全部商品分类信息
	 * 
	 * @return
	 */
	public List<Cateinfo> getAllCates() {
		List<Cateinfo> oneCateInfos = getCateList(0);
		for (Cateinfo i : oneCateInfos) {
			i.setCateinfos(getCateList(i.getId()));
		}
		return oneCateInfos;
	}

	/**
	 * 获取商品分类信息
	 * 
	 * @param id 商品分类id
	 * @return
	 */
	public Cateinfo getCate(int id) {
		String sql = "select * from cateinfo where id=?";
		return DBUtil.getSingleObject(sql, Cateinfo.class, id);
	}

	/**
	 * 更新商品分类
	 * 
	 * @param cate 商品分类属性
	 * @return
	 */
	public int updateCate(Cateinfo cate) {
		return DBUtil.update("update cateinfo set cateName=?,des=?,parentId=? where id= ?", cate.getCateName(),
				cate.getDes(), cate.getParentId(), cate.getId());
	}

}
